package org.example.app.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 内容信息实体类（短视频、直播等）- 符合实时数仓设计规范
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ContentInfo {
    // 业务主键
    private String contentId;
    private String contentTitle;
    
    // 维度字段
    private String contentType;  // live、video、image
    private String shopId;
    private String shopName;
    private String categoryId;   // 关联的商品类目
    private String categoryName;
    
    // 流量度量字段
    private Long viewCount;
    private Long clickCount;
    private Long likeCount;
    private Long commentCount;
    private Long shareCount;
    private Double avgViewDuration; // 平均观看时长
    private Double clickRate;
    
    // 交易度量字段
    private Long orderCount;
    private Double salesAmount;
    private Double conversionRate;
    private Integer productSoldCount; // 带货商品数量
    
    // 实时数仓必需的时间字段
    private Long ts;           // 事件时间戳（毫秒）
    private String stt;        // 窗口开始时间
    private String edt;        // 窗口结束时间
    private String period;     // 统计周期（1h、1d、7d等）
    
    // 数据血缘字段
    private String dataSource; // 数据来源
    private String processTime; // 处理时间
    private Integer version;    // 数据版本
    
    // 排名相关
    private Integer rank;
    private String rankType;   // 排名类型：sales、traffic、hot等
}